summaryrefslogtreecommitdiffstats
path: root/api/php/api.php
diff options
context:
space:
mode:
Diffstat (limited to 'api/php/api.php')
-rw-r--r--api/php/api.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/api/php/api.php b/api/php/api.php
new file mode 100644
index 0000000..5c5ec82
--- /dev/null
+++ b/api/php/api.php
@@ -0,0 +1,60 @@
+<?php
+ // pisal bom v PHPju, ker se mi res ne da zajebavat s Cjem
+ switch ($_REQUEST["m"]) {
+ case "commentreply":
+ if (empty($_REQUEST['vzdevek'])) {
+ $vzdevek = "anonymous";
+ } else {
+ $vzdevek = $_REQUEST['vzdevek'];
+ }
+ if (empty($_REQUESTT['message'])) {
+ http_response_code(400);
+ header("Content-Type: text/plain");
+ exit("400: Napaka. Niste vnesli sporočila.");
+ }
+ if ($_REQUEST['submit'] != 'Objavi!') {
+ http_response_code(201); // he's obviously automating queries
+ header("Content-Type: text/plain");
+ exit("201: Uspelo! Komentar objavljen."); // lies and deception
+ }
+ if (empty($_REQUEST['parent'])) {
+ http_response_code(400);
+ header("Content-Type: text/plain");
+ exit("400: Napaka. V zahtevi ni določeno, na kaj odgovarjate.");
+ }
+ if (empty($_REQUEST["is-submitter-human"] != "true")) {
+ http_response_code(201); // he's obviously automating queries
+ header("Content-Type: text/plain");
+ exit("201: Uspelo! Komentar objavljen."); // lies and deception
+ }
+ $sporocilo = $_REQUEST['message'];
+ $parent = $_REQUEST['parent'];
+ if (strlen($sporocilo) > 1024 || strlen($parent) > 7+1+256+1+19 || strlen($vzdevek) > 256) {
+ http_response_code(400);
+ header("Content-Type: text/plain");
+ exit("400: Napaka. Preveč besedila - vzdevek je lahko dolg 256, sporočilo pa 1024 znakov.");
+ }
+ $datum = date("Y-m-d H:i:s");
+ $cm = yaml_emit(array(
+ "author" => $vzdevek,
+ "date" => $datum,
+ "message" => $sporocilo,
+ "parent" => $parent,
+ "ip" => $_SERVER['REMOTE_ADDR'],
+ "addedby" => "PHP API 0.0.0",
+ "nonce" => hash('sha256', $vzdevek."|".$datum."|".random_bytes(69))
+ ));
+ file_put_contents($commentsfile, $cm, FILE_APPEND); // pri append ni locka
+ break;
+ case "commentedit":
+ http_response_code(400);
+ header("Content-Type: text/plain");
+ exit("400: Napaka. Urejanje komentarjev še ni izdelano. Napišite elektronsko sporočilo na anton+blog@sijanec.eu.");
+ break;
+ default:
+ http_response_code(400);
+ header("Content-Type: text/plain");
+ exit("400: Napaka. Izbrali ste neobstoječo API metodo.");
+ break;
+ }
+?>